Read-Eval-Print Levels

The Scheme interpreter works by running a ndexfile(index-entry "read-eval-print" "rm" main )read-eval-print loop (or REP loop). This means that expressions are read, evaluated, and the result of the evaluation is printed on the console. A REP loop can be nested inside another REP loop. This is what happens at a breakpoint or an error. The mode line indicator is changed to Break or Error to signify that another nested REP loop has been entered. The Emacs commands ↑c G, ↑c U, and ↑c X all affect the REP level you are at. The Level is the degree of nesting of REP loops, where level 1 is the topmost REP loop. Below are listed some control characters used to interrupt programs on various levels, also listed are other useful control characters.

c B
Enters a Breakpoint. The new level will be one higher than it was before the breakpoint.

c G
Halts execution at all levels. Returns to the top level (level 1) REP loop.

c U
Halts execution locally. Returns to the previous REP loop, unless already at the top level loop. That is, the new level is one less than it used to be, unless you were already at level 1.

c X
Halts execution locally. Returns to the current REP loop. The level number remains unchanged.

Once again, the different mode line indicators are: REP, ordinary read-eval-print loop; Break, a breakpoint REP loop; and Error an error REP loop.